/**
 * 任务实体类，用于存储任务的基本信息
 */
public class Task {
    private int id;                 // 任务ID，数据库主键
    private String name;            // 任务名称
    private java.util.Date startTime;    // 任务开始时间
    private java.util.Date endTime;      // 任务结束时间
    private int durationSeconds;    // 任务持续时间（秒）

    /**
     * 完整构造函数
     * @param id 任务ID
     * @param name 任务名称
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param durationSeconds 持续时间（秒）
     */
    public Task(int id, String name, java.util.Date startTime, java.util.Date endTime, int durationSeconds) {
        this.id = id;
        this.name = name;
        this.startTime = startTime;
        this.endTime = endTime;
        this.durationSeconds = durationSeconds;
    }

    /**
     * 新建任务时的构造函数
     * @param name 任务名称
     */
    public Task(String name) {
        this(0, name, null, null, 0);
    }

    // Getter方法
    public int getId() { return id; }
    public String getName() { return name; }
    public java.util.Date getStartTime() { return startTime; }
    public java.util.Date getEndTime() { return endTime; }
    public int getDurationSeconds() { return durationSeconds; }

    /**
     * 重写toString方法，用于在列表中显示任务信息
     * @return 任务显示字符串
     */
    @Override
    public String toString() {
        if (startTime != null && endTime != null) {
            return name + " [" + startTime + " - " + endTime + "]";
        }
        return name;
    }
}